import { defineStore } from 'pinia'
const useTodosStore = defineStore('todos', {
  state: () => ({
    //准备数据
    // list: [
    //   {id: 1,name: '吃饭',done: false},
    //   {id: 2,name: '睡觉',done: true},
    //   {id: 3,name: '打豆豆',done: false}
    // ],
    //从本地取出来
    list: JSON.parse(localStorage.getItem('todos')) || [],
    filters:['全部','未完成','已完成'],
    active:'全部'
  }),
  actions:{
    //点击切换状态
    changeActive(active) {
    this.active=active
    },
    // 定义计算属性，完成底部清除功能
    clearTodo() {
   this.list=this.list.filter(item=>!item.done)
    },
    // 完成大选控制小选功能
    checkAll(value) {
    console.log(value);
    this.list.forEach(item=>item.done=value)
    },
    //添加任务
    addTodo(taskname) {
   console.log('添加的任务名称是：',taskname);
   this.list.push({
    id:Date.now(),
    name:taskname,
    done:false
   })
    },
    // 删除列表
    delTask(id) {
      console.log('当前点击的是',id);
   this.list= this.list.filter(item=>item.id!==id)
    },
    //点击改变勾选状态
    changeState(id) {
      console.log('当前点击的是',id);
      // find 通过id 查找元素
     const todo= this.list.find(item=>item.id===id)
     // 状态相反
     todo.done=!todo.done
    }
  },
  getters:{
    //定义计算属性，完成底部统计功能
    leftCount() {
      return this.list.filter(item=>!item.done).length
    }
  }
})

export default useTodosStore